草庐IT

c++ - 如何指定Qt插件构造函数?

我想知道是否可以在Qt插件接口(interface)中指定一个构造函数?(扩展应用程序)我想强制使用接口(interface)的插件在构造函数中获取参数。 最佳答案 我认为完全按照您描述的方式做是不可能的。但是,您可能会尝试创建工厂对象,然后将参数传递给YourFactory::create()方法,该方法返回指向YourObject的指针。另一种(更丑陋的恕我直言)方法是向YourObject添加initialize()方法。查看QFontEnginePlugin的接口(interface)和QScriptExtensionPlu

c++ - 在 Qt 4.4 中为 QTableView 设置 Tab 键顺序

我有一个QTableView,它的数据以QStandardItemModel的形式加载ParameterValueX10.456X20.123....andsoon.现在我必须设置TabOrder属性,以便我只能遍历值而不是参数。即当控件在0.456上时,如果我按“Tab”键,它必须转到0.123而不是X2(默认行为)。此外,列参数已禁用Edt触发器,我只能更改值。我知道QWidget::setTabOrder(QWidget*,QWidget*)但由于我是通过QStandardItemModel设置数据,我如何才能在QTableView中实现所需的Tab键顺序?我正在使用Qt4.4和

c++ - 在 Qt 中将一个小部件与另一个小部件交换

在现有View中将一个QGraphicsWidget与另一个“交换”的最佳方法是什么?我有一个TreeView小部件和一个标签小部件,我希望它们在不同时间占据相同的空间。具体来说,当有错误时,我想在标签中显示它,当没有错误时,我想显示树。我曾尝试以编程方式隐藏一个并使用hide()和show()显示另一个,但问题是隐藏的小部件占用了我的QGraphicsLinearLayout即使它被隐藏,也会留下空白。或者,我想我可以在布局中添加和删除小部件,但这似乎很笨拙,因为它意味着小部件所有权的变化,我需要记录它们在布局中的位置,以便我可以将它们插入回正确的地方。在JavaSwing中,我会使

c++ - Qt C++ XML,针对 DTD 进行验证?

有没有办法根据Qt的XML处理的DTD验证XML文件?我试过谷歌搜索但似乎无法得到直接的答案。如果Qt不包含对验证XML文件的支持,那么我自己实现验证的过程可能是什么?关于根据规范验证XML的任何好的引用资料?感谢您的帮助! 最佳答案 您可以使用以下代码验证您的XML:http://qt.nokia.com/doc/4.6/qxmlschema.html您还可以在这里找到示例:XMLSchemaValidationExample希望对您有所帮助! 关于c++-QtC++XML,针对DTD

c++ - Qt : After installation of VS2012 LNK1123 failure during conversion to COFF

之后我安装了VS2012我的Qt项目不再编译(我的电脑上有VS2010和VS2012)。消息:LNK1123:转换为COFF期间失败:文件无效或损坏。以前只用VS2010没问题。对于VS2012环境,建议(参见SOhere):使用EnableIncrementalLinkingNO编译卸载.net4.5因为我没有将Qt与VS2012结合使用(所以没有插件),所以我不能setuptheprojectasmentioned.我也不能卸载.net4.5(另一个项目需要)。有机会解决这个问题吗?我有一些相关的问题是否可以针对VS2012C++编译器进行编译?Hereitsays为此,我需要自己

c++ - 如何在带有 qmlscene(或 qmlviewer5)的 .qml 上使用 Qt Quick 2 扩展插件

我在QtCreator中使用项目模板“Libraries/QtQuick2ExtensionPlugin”创建了一个测试插件作为Qt5/QML共享库。我的开发环境是linux,Qt-5.0.0和QtCreator-2.6(详情见底部)。源文件(在要点上):https://gist.github.com/4467883源文件是默认生成的,没有任何更改。项目名称是“无标题”,uri是“com.mycompany.mycomponents”,对象类名称是“MyItem”。“/tmp/untitled”中的源文件作为SRCDIR。并将其构建为输出库文件作为"libuntitled.so"、"q

c++ - 如何在使用 MSVC2012 作为编译器的 Qt Creator 上使用 libCURL

目前我已经在我的系统上安装了qt-windows-opensource-5.1.1-msvc2012-x86_64-offline一切正常,但我无法真正成功地在我的Qt项目中使用libCurl。我已经下载了这个版本的libcurl:http://curl.haxx.se/download/libcurl-7.19.3-win32-ssl-msvc.zipMSVCmetalink7.19.3develSSLFredericElbin4.04MB我已将include文件夹从存档移动到VCinclude文件夹,并且我已使用#include将其包含在程序中并且运行良好。现在在lib文件夹上有另

c++ - 要添加到 .pro 文件中的 Qt Creator 变量

我现在开始涉足Qt,我想知道是否有办法让QtCreator自动将变量添加到项目文件中。例如,我通常使用C++11代码,所以如果Qt可以在我开始一个新项目时自动将CONFIG+=c++11放入.pro文件中,那就太好了。我环顾四周的选项,但我无法理解某些部分,所以也许它就在我面前? 最佳答案 您可以编辑QtCreator的向导文件。这些文件位于以下目录中:Qt-Dir/Tools/QtCreator/share/qtcreator/templates/wizards/如果您查看目录,会发现一些与不同向导相关的文件夹。例如,如果您查看“

c++ - Qt 相当于 boost::ptr_vector?

我需要一个拥有指针所有权的指针容器——即当一个元素被删除,或者容器超出范围时,它会释放所有指针,就像在boost::ptr_vector中一样。.QList>不起作用(编译错误,没有复制构造函数?)。现在我正在使用QList>,但它的引用计数和用于多线程的昂贵互斥体感觉有点矫枉过正。编辑:我刚刚了解到QPtrList(感谢@ForEveR)这在Qt3中非常等效,但已从更高版本中删除。我只是不明白他们为什么要删除它。 最佳答案 您是对的,由于上述原因,QSharedPointer有点开销。不幸的是,Qt中没有这样的指针vector,当

c++ - 在 Qt3D 中访问帧缓冲区

我的任务:计算3D网格的像素坐标(例如制作快照)以从特定的相机角度找到该网格的2D形状。我目前正在使用Qt3D和QGeometryRenderer将包含网格的场景渲染到QWidget,效果很好。我尝试按照这篇文章HowtocreatescreenshotofQWidget?的建议,使用QWidget::render()将QWidget的内容渲染到Pixmap中。.将像素图保存为.jpg会生成具有默认背景颜色的空白图像,这是有道理的,因为QWidget本身并不持有网格对象。这是在我的mainwindow.cpp中设置场景的方式//setsthesceneobjects,camera,li